/**
 * Copyright: Copyright (c) 2012
 * Company:深圳市海乐淘电子商务有限公司
 * @author lifuyu
 * @date 2012-6-25 下午12:26:53
 * @version V1.0
 */
package com.microcm.common;

import java.util.Date;

import com.microcmframework.core.context.AppContext;
import com.taobao.api.ApiException;

/**
 * JOB 相关的公共方法
 */
public class JobUtil
{
	private static final String FILE_PATH = "/classes/com/hileto/insync/META-INF/config/sync.properties";

	public static SharePropUtils getSharePropUtil()
	{
		SharePropUtils propUtils = SharePropUtils.getInstance();
		if (!propUtils.isLoaded())
		{
			propUtils.loadPropConfig(FILE_PATH);
		}
		return propUtils;
	}

	/**
	 * 淘宝API URL
	 * 
	 * @author：lifuyu
	 * 
	 * @return
	 */
	public static String getTaobaoApiUrl()
	{
		return AppContext.getInstance().getSysPropValue("taobao.api.url");
	}

	/**
	 * 获取sysconfig.properties的配置值
	 * 
	 * @author：lifuyu
	 * 
	 * @return
	 */
	public static String getSysPropVal(String key)
	{
		return AppContext.getInstance().getSysPropValue(key);
	}

	/**
	 * 获得查询的开始时间
	 * 默认从当天00：00:01开始,如果不是同一天也从当天00:00:01开始
	 * 
	 * @author：lifuyu
	 * 
	 * @param ckey
	 * @param isCurStar 如果跨天的话是否重置为当天开始
	 * @return
	 */
	public static Date getStartQryDate(SharePropUtils propUtils, String ckey, boolean isCurStar)
	{
		String starTm = propUtils.getValue(ckey);
		if (starTm == null)
		{
			String curDay = DateTimeUtils.convertToString(new Date(), DateTimeUtils.FMT_YYYYMMDD);
			starTm = curDay + " 00:00:00";
			propUtils.setValue(ckey, starTm);
		}
		else if (isCurStar)
		{
			String curDay = DateTimeUtils.convertToString(new Date(), DateTimeUtils.FMT_YYYYMMDD);
			if (!starTm.substring(0, 10).equals(curDay))
			{
				starTm = curDay + " 00:00:00";
				propUtils.setValue(ckey, starTm);
			}
		}
		return DateTimeUtils.convertToDate(starTm, DateTimeUtils.FMT_YYYYMMDDHHMMSS);
	}

	/**
	 * 获得淘宝系统当前的时间
	 * 
	 * @author：lifuyu
	 * 
	 * @param apiUrl
	 * @param appKey
	 * @param appSecret
	 * @return
	 * @throws ApiException
	 */
	public static Date getTaobaoSystemDate(String apiUrl, String appKey, String appSecret)
	{
//		TaobaoClient client = new DefaultTaobaoClient(apiUrl, appKey, appSecret);
//		TimeGetRequest req = new TimeGetRequest();
//
//		TimeGetResponse resp = null;
//		try
//		{
//			resp = client.execute(req);
//		}
//		catch (ApiException e)
//		{
//			e.printStackTrace();
//			return null;
//		}
//		return resp.getTime();
		return null;
	}
}
